This invention is directed generally to criticality support for aperiodics when using slack scheduling. This invention is also directed towards slack scheduling for improved response times of period transformed processes. Further, this invention is directed towards slack scheduling applied to incremental periodic processes.
Existing methods for scheduling critical real-time periodic processes treat the execution time as a fixed, worst-case and known quantity that cannot change at run-time. In many optimizing control applications, processes can be written so they consume a fixed minimum execution time, followed by one or more optional execution increments of some size. The minimum execution time produces an acceptable but suboptimal solution that can be incrementally improved if additional execution time can be made available at run-time. Functions with this property are called incrementally precise functions or incremental processes. Aerospace applications that may be candidate algorithms are "optimal problems", such as optimal control, optimal guidance, or optimal orbit transfer, which have solution techniques that are iterative. Other candidates might be fault detection, weapon deployment algorithms and diagnostic session interactions.
Alternatively, a process may be such that its execution time is parameterizable in the sense that a "bigger" problem can be solved when more time is available, and the problem "size" actually solved is determined by the amount of time available at run-time. This type of scheduling is known as design-to-time. As an example, the precision of a guidance calculation might be determined by the "size" of the grid/array modeling the terrain used to compute the trajectory. If a guidance algorithm with this property were modeled as a design-to-time application, the largest size array that would fit the available compute time would be selected.